
Manaball
Serversided Spell Prefixes For CastleSpawnZDetails
serversided, host only needs, maybe host should only have actually idk
requirements
modsync or CastleSpawnZ
issues
problem? https://youtu.be/nKVAs2J84w8
how this works
upon trading to the gnomes, there is a 2 in 3 (66%?) chance when getting dark blast, to apply it with the [Lich] modifier,
this is notified to players via the top right death feed, something like "Trade Notifier: A (uncommon) dark blast modifier [Lich]"
spell details 3
it summons a bonedog in front of you and applies to rock
33% chance of applying to rock
bonedog despanws in Math.Clamp((float)level * 3.5f, 10f, 18.4f)
the bonedog can attack you but uhh you kinda have to be stupid to walk infront of it, normally it should spawn looking at ur enemy not you...
spell details 2
Blink [Portal Gun]
iffkdoiaefklaWBdlJHDVBWkvugjhhahkdb waaaaaaaaaah waaaaaaaaaaaaaaaaaaah
i fuckiit makes a portal gun waht more t khebwadlikdwa.h,dbwakdadwajldnawdawdawdwadwa
it makes a portal where you shoot dumb fuck
33% chance of replacing blink
spell details
Dark Blast [Lich]
Raw Lich Fireball Amount formula: Math.Max(Math.Round((double)Math.Min(level/4,4)),2)
Layman terms:
Summons a lich to cast their 2+ of their fireballs when you cast the modified spell,
upon getting to spell level ~10, they (should) shoot 3 times,
and on spell level ~14, they (should) shoot 4 times, maxed out.
Spread is increased the more fireballs are shot.
Raw formula:
target_pos+new Vector3(random(-i*7.5f,i*7.5f),random(-i*7.5f,i*7.5f),random(-i*7.5f,i*7.5f))
(i being the amount of fireballs shot)
update
1.1.6
small value tweaks
1.1.5
move castlespawn's boendog fixes here + try to add serversided killtracking to bone dog (i dont recall if it works?)
1.1.4
updated portal gun modifier announcement colors, so they dont look like dark blast
1.1.3
dog speed upped (tested in lobby with other people, is balanced 99%, last time was tested by myself)
1.1.2
The speed reductions to the bonedog were not applying properly, causing the bonedog to be at near player running speed, being near unescapable.
This has been resolved and tested, and the spell should be a balanced support/summoning spell now.
1.1.1
nerfed the bonedog spell
made the bonedog spell actually look away from you so there is less chance of it mauling its own summoner unless skill issue
(i forgot to set rotation, i only set position)
1.1.0
added dog summonign spell
1.0.9
i forgot ",true,true"....
1.0.8
made portal gun work for others(?) (the path structure of other players was different, needed to recursively search for magebook)
1.0.6
added portal gun spell prefix for blink
added config to disable/enable individual spells
1.0.5
major code refactoring (easy compatibility with future spells i add + not made difficult for others to make their own compatible with this)
major balance (if shot at close range, only 1 is fired, fixing the "I am straight downwards, bypassing all spread, 1shotting you"
i dont remember what else if anything
might see if i can make a portal gun spell
1.0.4
increased potential spread on anything other than the 1st shot by a lot
1.0.3
made first shot not have spread
i dont rememebr what else if anything
1.0.2/1.0.1
made it so you hopefully cant spawn 9 million of them
nerfed formula division to 3.4 from 2.8
cba to add config build it urself if u dont like it might add config if i ever make the wisp modifier
technical details (outdated)
Spell is detected via the gnomes trading CreatePage Rpclogic,
Upon trading and getting dark blast, and succeeding the 2 in 3 chance,
it will rename the spellpage GameObject to licher
which is used in the hijacked CastSpell ServerRpcLogic, to detect that the spell is the modified spell
(and to not proceed with normal ObserverRpc logic sending, which would just create normal Dark Blast on everyones client),
upon detecting that the spell is modified, it (should) serversidedly detect where you want to shoot, then spawn a Lich in front of you (by 4)
(via InstanceFinder.ServerManager.Spawn)
After spawning a lich, it renames it to "mausoluem ghost", (name is used to disable the lich's ai, by hijacking it's update function)
The lich is also given near infinite HP,
After all of that,
it will invoke the Lich's Fireball ServerRpc and some sounds/animations etc, to shoot at where the caster desires with previously mentioned firing logic,
and then despawn the lich in 2 realtime seconds. via InstanceFinder.ServerManager.Despawn
design notes
Dark Blast was chosen because it had the closest acceptable cooldown to what I wanted, and a similar enough theme to the Lich,
wisp was a close 2nd, as it had a very similar icon to a blue fireball,
but didn't make cut for its very short high lvl cooldown etc,
alongside wisp being near impossible for the voice detector to detect,
Another reason Dark Blast was chosen is it generally not seeing that much use by most players,
I do not believe cooldowns are 100% serversided, so I cannot modify that much, which is why I simply chose the closest best spell to the CD I wanted.
I do not believe I will make much more spells, as the limits of what you can do serversidedly is not that big, as this game still handles most things clientsidedly,
(as you can tell by the cheater problem),
alongside there not being that many workable assets basegame for creative (serversided) spell ideas, but I do have a custom lives-based mode in mind, involving each player having a gnome follow them, alongside kind of resource generation.
Finally, I have a Serversided "Summon Teammate" modifier in mind, likely for Wisp.
Which should aid in the muggle problem where they don't know how to recall.