[Ready and tested and microwaved] Rework the battle arcade game in the honor of fallen gamers (#51499)
[Ready and tested and microwaved] Rework the battle arcade game in the honor of fallen gamers (#51499)

* reworks the arcade game completly

gaming

* parenthesis more like orphanesis

* adds the "emag mode"

emag mode is simple, cuban pete has all 6 traits at his disposal. The current best tactic I could find is 4 defend in a row to get rid of the magical trait, followed by 3 power attacks, which will both get rid of the shotgun and chonker trait

then hope to fucking hell that the short temper trait keeps cuban pete from hitting you and spam light attacks until he hopefully dies. Counter attacking is basically useless because of the smart/magical combo so don't even try to do that.

* fixes a fucky wucky

fucked up a thing and you weren't able to restart a game, also rebalance a few things.

* replace nearly every list by a lazylist

* fixes a bug with the arcade action

the arcade action didn't properly translate the href so I just made the enemy_action take a string directly instead of the entire href_list

* gives cuban pete a special bomb move

cuban pete works in a timer, after 18 turn the bomb will explode and basically reduce the player to fucking dust. It took a bunch of testing but I did manage to balance it relatively well, better gaming skill will also give you more HP

* makes the finishing move last through multiple turns

Now when the finishing move is ready you'll be able to use it whenever you want not just next turn, even multiple time in a row, unless you restart a game of course.

* makes the shotgun passive change the chosen_weapon

also slightly reform a few things so that the "bomb" text is always before any passive.

* Nemvar how dare you help me improve my code

fixes a couple of thingies

* I like my comments like I like my women

not with an indentation in their skull

* fixes a few problem with the magical passive

* change gameover_check a little

make it so the player HP will be set to 1 if its under 0 and the enemy HP is under 0 for the rare case where the enemy kills you and die in their own turn.

Mainly here so it doesn't look weird that both you and your enemy are dead and yet you still win.

* put an anti runtime mesure

shouldn't happen but gives a default weapon of "null gun" if the weapons list is somehow empty. just in case.

* assoc list change

changes a few thing so that we can now use assoc list. along with changing a few if to switch per Rohesie's demand

* change the way temp is modified during the enemy_setup() proc

basically as per Rohesie's request (again) there will be a temporary list that will add whatever it needs during the enemy setup then .Join() the list at the end.

* buff the finishing move

buff the finishing move so that it kills the enemy more reliably

Co-authored-by: Caldony <c851c09d1409659f46abf84f48113f94d22b07a7@laposte.net>
ShizCalev/tgstation,WJohn/-tg-station,GunHog/-tg-station,Profakos/tgstation,kingofkosmos/-tg-station,MicroWorldwide/SS13-TG-station,infinitystation/-tg-station,coiax/-tg-station,nicbn/tgstation,coiax/-tg-station,Razharas/-tg-station,JJRcop/tgstation,ShizCalev/tgstation,anconfuzedrock/tgstation,nicbn/tgstation,HippieStation/HippieStation,WJohn/-tg-station,Cyberboss/tgstation,Cruix/-tg-station,infinitystation/-tg-station,optimumtact/-tg-station,anconfuzedrock/tgstation,Jordie0608/tgstation,optimumtact/-tg-station,coiax/-tg-station,tgstation/tgstation,Bawhoppen/-tg-station,Razharas/-tg-station,MrStonedOne/tgstation,ShizCalev/tgstation,GunHog/-tg-station,XDTM/tgstation,optimumtact/-tg-station,tgstation/-tg-station,Bawhoppen/-tg-station,Bawhoppen/-tg-station,MicroWorldwide/SS13-TG-station,infinitystation/-tg-station,Razharas/-tg-station,CPTANT/-tg-station,TalkingCactus/tgstation,infinitystation/-tg-station,Razharas/-tg-station,Profakos/tgstation,Cyberboss/tgstation,GunHog/-tg-station,MicroWorldwide/SS13-TG-station,GunHog/-tg-station,ShizCalev/tgstation,anconfuzedrock/tgstation,kingofkosmos/-tg-station,Bawhoppen/-tg-station,XDTM/tgstation,Jordie0608/tgstation,tgstation/-tg-station,nicbn/tgstation,JJRcop/tgstation,Cruix/-tg-station,XDTM/tgstation,Jordie0608/tgstation,coiax/-tg-station,MicroWorldwide/SS13-TG-station,Razharas/-tg-station,XDTM/tgstation,MrStonedOne/tgstation,MicroWorldwide/SS13-TG-station,nicbn/tgstation,TalkingCactus/tgstation,infinitystation/-tg-station,MrStonedOne/tgstation,XDTM/tgstation,Cruix/-tg-station,Razharas/-tg-station,GunHog/-tg-station,Razharas/-tg-station,Jordie0608/tgstation,MrStonedOne/tgstation,GunHog/-tg-station,Bawhoppen/-tg-station,Cruix/-tg-station,infinitystation/-tg-station,kingofkosmos/-tg-station,erwgd/-tg-station,ShizCalev/tgstation,ShizCalev/tgstation,TalkingCactus/tgstation,MicroWorldwide/SS13-TG-station,HippieStation/HippieStation,Razharas/-tg-station,anconfuzedrock/tgstation,CPTANT/-tg-station,Jordie0608/tgstation,anconfuzedrock/tgstation,Profakos/tgstation,ShizCalev/tgstation,anconfuzedrock/tgstation,Jordie0608/tgstation,CPTANT/-tg-station,GunHog/-tg-station,Bawhoppen/-tg-station,tgstation/tgstation,anconfuzedrock/tgstation,ShizCalev/tgstation,Cyberboss/tgstation,HippieStation/HippieStation,MrStonedOne/tgstation,nicbn/tgstation,JJRcop/tgstation,WJohn/-tg-station,TalkingCactus/tgstation,CPTANT/-tg-station,nicbn/tgstation,Cruix/-tg-station,tgstation/tgstation,infinitystation/-tg-station,CPTANT/-tg-station,coiax/-tg-station,Profakos/tgstation,MicroWorldwide/SS13-TG-station,coiax/-tg-station,Cyberboss/tgstation,HippieStation/HippieStation,WJohn/-tg-station,Bawhoppen/-tg-station,CPTANT/-tg-station,XDTM/tgstation,tgstation/-tg-station,XDTM/tgstation,WJohn/-tg-station,Cruix/-tg-station,Cyberboss/tgstation,Jordie0608/tgstation,optimumtact/-tg-station,JJRcop/tgstation,HippieStation/HippieStation,optimumtact/-tg-station,tgstation/tgstation,Bawhoppen/-tg-station,WJohn/-tg-station,kingofkosmos/-tg-station,optimumtact/-tg-station,Cruix/-tg-station,erwgd/-tg-station,infinitystation/-tg-station,Cyberboss/tgstation,tgstation/tgstation,tgstation/tgstation,tgstation/tgstation,coiax/-tg-station,kingofkosmos/-tg-station,optimumtact/-tg-station,Cruix/-tg-station,CPTANT/-tg-station,WJohn/-tg-station,erwgd/-tg-station,JJRcop/tgstation,Jordie0608/tgstation,Cyberboss/tgstation,tgstation/-tg-station,MicroWorldwide/SS13-TG-station,JJRcop/tgstation,MrStonedOne/tgstation,kingofkosmos/-tg-station,kingofkosmos/-tg-station,HippieStation/HippieStation,Profakos/tgstation,nicbn/tgstation,MrStonedOne/tgstation,HippieStation/HippieStation,CPTANT/-tg-station,tgstation/tgstation,MrStonedOne/tgstation,JJRcop/tgstation,Profakos/tgstation,Profakos/tgstation