Moving attack_alien for silicons to silicon/attack_alien() with overrides in children.
Fixing messages.
Attack_animal for silicons: all in silicon/attack_animal()
Attack_slime handled in living, overriden in its children.
Simplified the definition of the stunprob var, slight nerf to slime shock.
Moving attack_hand for larva+humanoid to alien/attack_hand() in alien_defense to handle both.
Changing weaken() to paralyze() in alien/attack_hand() in hulk and disarm section because weaken fails on aliens.
lowered alien bite damage on alien to just 1 in all cases, instead of rand(1,3) for humanoid->humanoid.
Added alien/attack_hand() to handle both larva and humanoid, with override in the children.
Adding a death message for the larva.
Attack_paw for aliens: handled in alien/attack_paw() and overridden in children.
Attack_animal for aliens: handled in alien/attack_animal() in alien_defense.dm
Added attack logs where missing.
Created proc/grabbedby in mob/living/living_defense.dm to handle all grab stuff in the attack_hand's and attack_alien's.
Fixed typos in messages.
one attack_larva gets a return attack_alien for its harm part.
Fixing larva attack on larva, couldn't help a fellow larva.
moving humanoid/attack_larva to alien/attack_larva() to handle both humanoid and larva being attacked by larva.
Fix a bug with attack_slime where you could glomp a dead humanoid indefinitely.
- Adds bots to the Master Controller as their own datum instead of
machines.
- Puts bots into their own global list.
- Processes bots asynchronously so as to not hold up the MC processing
them.
- Attempts to fix a major screwup in bot movement code that created
artificial lag for the entire Master Controller.
- Fixes floorbots not patrolling or performing certain functions.
- You can now toggle the anchored status on Floorbots manually. They
will still automatically anchor when fixing hull breaches.
Allow me to apologize for taking so long to come up with a fix for this.
I tried several other solutions such as simply removing the sleep(4)
that causes this issue (it results in 'teleportation' movement). Other
times I used spawn() incorrectly, resulting in several race conditions.
And then I tried to give them their own ticker, independent of the MC.
The game lagged and runtimed before it even finished setting up.
Excuses aside, this solution seems to be working so far, but I welcome
any more elegant solutions to fixing this issue.
fixes#5560